package com.jic.market.service.rest.discountamount;

import com.jic.market.request.rest.discountamount.*;
import com.jic.market.response.rest.discountamount.DiscountAmountQueryResponse;
import com.jic.market.response.rest.discountamount.DiscountRefundResponse;
import com.jic.market.response.rest.discountamount.GrouponDiscountAmountOrderCreateResponse;
import com.jic.market.response.rest.discountamount.ShoppingCartDiscountAmountQueryResponse;
import org.springframework.validation.annotation.Validated;

import javax.validation.Valid;

/**
 * @author yinhaijun
 * @date: 2020/4/7
 */
@Validated
public interface DiscountAmountService {

    ShoppingCartDiscountAmountQueryResponse queryShoppingCartDiscount(@Valid ShoppingCartDiscountAmountQueryRequest request);
    /**
     * 查询优惠总金额
     * @param request
     * @return
     */
    DiscountAmountQueryResponse queryDiscount(@Valid DiscountAmountQueryRequest request);

    DiscountAmountQueryResponse createDiscount(@Valid DiscountAmountOrderCreateRequest request);

    DiscountAmountQueryResponse payDiscount(@Valid DiscountAmountOrderPayRequest request);

    DiscountRefundResponse refundDiscount(@Valid DiscountAmountRefundRequest request);

    DiscountAmountQueryResponse queryDiscount(@Valid GrouponDiscountAmountQueryRequest request);

    GrouponDiscountAmountOrderCreateResponse createGrouponDiscount(@Valid GrouponDiscountAmountOrderCreateRequest request);
}
